[airflow-ctl/v0-1-test] Bump datamodel-code-generator pin from 0.33.0 to 0.41.0 (#69854) - #70201
Merged
potiuk merged 1 commit intoJul 30, 2026
Conversation
… to 0.41.0 (#69854) The pin was stuck at 0.33.0 because later releases change how use-default interacts with nullable/optional fields. Versions 0.42.2 through at least 0.67.0 widen JsonValue-backed fields to JsonValue | None, and 0.57.0+ additionally drops the = None default from nullable-optional fields, turning ~200 fields in the Task SDK Execution API client and the airflow-ctl API client from optional into required -- a breaking Pydantic v2 model-contract change. 0.41.0 is the newest release that still regenerates both clients with a diff limited to the generator version-comment line (plus one benign RootModel[list] -> RootModel[list[Any]] typing improvement in airflow-ctl's generated.py), so it unblocks the dependency without carrying either regression forward. Closes the datamodel-code-generator item from #69616. (cherry picked from commit 15a4478) Co-authored-by: hkr <104939283+harishkesavarao@users.noreply.github.com>
1 task
potiuk
marked this pull request as ready for review
July 28, 2026 13:47
potiuk
requested review from
amoghrajesh,
ashb,
bugraoz93,
dheerajturaga,
kaxil and
potiuk
as code owners
July 28, 2026 13:47
potiuk
approved these changes
Jul 30, 2026
potiuk
left a comment
Member
There was a problem hiding this comment.
Clean backport — the changed-file set matches #69854 on main exactly (airflow-ctl/pyproject.toml, both generated datamodel files, task-sdk/pyproject.toml, _generated.py, uv.lock), and the regenerated headers correctly record version: 0.41.0. CI green. Carries the datamodel-code-generator bump onto the release branch, which is what we want.
Drafted-by: Claude Code (Opus 5); reviewed by @potiuk before posting
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The pin was stuck at 0.33.0 because later releases change how
use-default interacts with nullable/optional fields. Versions 0.42.2
through at least 0.67.0 widen JsonValue-backed fields to
JsonValue | None, and 0.57.0+ additionally drops the = None default
from nullable-optional fields, turning ~200 fields in the Task SDK
Execution API client and the airflow-ctl API client from optional
into required -- a breaking Pydantic v2 model-contract change.
0.41.0 is the newest release that still regenerates both clients with
a diff limited to the generator version-comment line (plus one benign
RootModel[list] -> RootModel[list[Any]] typing improvement in
airflow-ctl's generated.py), so it unblocks the dependency without
carrying either regression forward.
Closes the datamodel-code-generator item from #69616.
(cherry picked from commit 15a4478)
Co-authored-by: hkr 104939283+harishkesavarao@users.noreply.github.com